package com.easy.util;
/*
* 密码工具类
* 引入了 Spring Security 提供的 BCryptPasswordEncoder，
* 这是一个常用的密码哈希工具类，基于 BCrypt 算法
* */
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

public class PasswordUtils {
    private static final BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();

    // 加密密码
    /*
    encrypt 方法：接收明文密码（rawPassword），调用 encoder.encode 进行哈希加密。
    返回值是 不可逆的密文（哈希值），即使输入相同的明文，每次加密的结果都不同（因为 BCrypt 内部会随机生成盐 salt），
    这样可以防止彩虹表攻击。
     */
    public static String encrypt(String rawPassword) {
        return encoder.encode(rawPassword);
    }

    // 验证密码（明文与密文比对）
    public static boolean matches(String rawPassword, String encodedPassword) {
        return encoder.matches(rawPassword, encodedPassword);
    }
}